#ifndef BRIDGE_SERVICE_H
#define BRIDGE_SERVICE_H
#include "data_type.h"


enum{
    wirelessMode,                 /*无线模式*/
    workingFrequency,                 /*工作频率*/
    transmitPower,                    /*发射功率*/
    antennaGain,                  /*天线增益*/
    polarizationSignalDifference,                 /*极化信号差*/

    ssid,                 /*SSID*/
    mac,                  /*本地mac地址*/
    signalStrength,                   /*信号强度*/
    backgroundNoise,                  /*本底噪声*/
    pointDistance,                    /*点对点距离*/
    encryptionMethod,                 /*加密方式*/
    channelWidth,                 /*信道宽度*/
    accessPointsNumber,                   /*接入点数量*/
    //远端设备的信息
    remoteDeviceName,                    /*远端设备名称*/
    remoteSignalStrength,                    /*远端设备信号强度*/
    remoteBackgroundNoise,                    /*远端设备本底噪声*/
    remoteCpu,                      /*远端设备CPU */
    remoteIp,                    /*远端设备IP地址*/
    sendBytes,                    /*发送字节*/
    receivedBytes,                    /*接收字节*/
    connectTime,                  /*连接时长*/
    cinrCarrier,                  /*CINR载波干扰噪声比*/
    transmissionCapacity,                 /*发射容量*/
    receptionThroughput,                  /*接收吞吐量*/
    delay,                    /*延迟*/

    deviceCurrentTime,                    /*设备当前时间*/
    deviceMode,                   /*设备模式*/
    cpu,                  /*CPU*/

    // deviceName,                   /*设备名称*/
    // portMode,                 /*端口模式*/
    // mtu,                  /*MTU*/
    
    // ip,                   /*本地IP地址*/
    // netmask,                  /*网络掩码*/
    // gatewayIp,                    /*网关IP*/
    // preferredDnsIP,                   /*首选 DNS IP*/
    // alternateDnsIP,                   /*备用 DNS IP*/
    // softwareVersion,                  /*软件版本*/
    // /*状态数据 */ 
    // runningTime,                  /*运行时长*/ 
};

const static char *oids[] = {
    "UBNT-MIB::ubntMIB.4.1.1.2.1",      //INTEGER: 网桥模式; apwds 点对点
    "UBNT-MIB::ubntMIB.4.1.1.4.1",      //INTEGER: 5770			//频率"
    "UBNT-MIB::ubntMIB.4.1.1.6.1",      //INTEGER: 24				//发射功率"
    "UBNT-MIB::ubntMIB.4.1.1.9.1",      //STRING: 天线增益
    "UBNT-MIB::ubntMIB.4.2.1.1.1.1",    //INTEGER: 1          //极化信号差"
    
    "UBNT-MIB::ubntMIB.4.5.1.2.1",      //STRING: "cz_10_11"			//ssid"
    "UBNT-MIB::ubntMIB.4.5.1.4.1",      //Hex-STRING: 74 AC B9 7E 7F DD			//mac"
    "UBNT-MIB::ubntMIB.4.5.1.5.1",      //INTEGER: -55				//信号强度"
    "UBNT-MIB::ubntMIB.4.5.1.8.1",      //INTEGER: -92				//本底噪声"
    "UBNT-MIB::ubntMIB.4.5.1.9.1",      //INTEGER: 距离
    "UBNT-MIB::ubntMIB.4.5.1.11.1",     //STRING: "none"           //加密方式
    "UBNT-MIB::ubntMIB.4.5.1.14.1",     //INTEGER: 信道宽度
    "UBNT-MIB::ubntMIB.4.5.1.15.1",     //INTEGER: 接入点数量"
    //远端设备信息
    "UBNT-MIB::ubntMIB.4.7.1.2.1",      //远端设备名称
    "UBNT-MIB::ubntMIB.4.7.1.3.1",      //信号
    "UBNT-MIB::ubntMIB.4.7.1.4.1",      //本底噪声
    "UBNT-MIB::ubntMIB.4.7.1.6.1",      //远端设备 CPU
    "UBNT-MIB::ubntMIB.4.7.1.10.1",     //IP地址
    "UBNT-MIB::ubntMIB.4.7.1.13.1",     //Counter64: 11881		//发送字节
    "UBNT-MIB::ubntMIB.4.7.1.14.1",     //Counter64: 5343			//接收字节
    "UBNT-MIB::ubntMIB.4.7.1.15.1",     //Timeticks: (1200) 0:00:12.00	//连接时间"
    "UBNT-MIB::ubntMIB.4.7.1.16.1",     //INTEGER: 28               //CINR载波干扰噪声比（远端）"
    "UBNT-MIB::ubntMIB.4.7.1.17.1",     //INTEGER: 90720            //上行连接容量（远端）"
    "UBNT-MIB::ubntMIB.4.7.1.18.1",     //INTEGER: 210600			//下行连接容量（远端）"
    "UBNT-MIB::ubntMIB.4.7.1.21.1",     //INTEGER: 0                //延迟"

    "UBNT-MIB::ubntMIB.4.8.1.0",         //STRING: "2018-11-13 17:10:40"			//当前时间"
    "UBNT-MIB::ubntMIB.4.8.2.0",        //INTEGER: 设备模式（1为网桥）
    "UBNT-MIB::ubntMIB.4.8.3.0",        //INTEGER: 707            //cpu占用率"
    NULL // 结束标记
};

const static char *remote_oids[] = {
    // "UBNT-MIB::ubntMIB.4.7.1.1.1.244.146.191.232.127.47",       //HEX-String: mac
    // "UBNT-MIB::ubntMIB.4.7.1.2.1",       //STRING: 设备名称
    // "UBNT-MIB::ubntMIB.4.7.1.3.1",       //INTEGER: 信号强度
    // "UBNT-MIB::ubntMIB.4.7.1.4.1",       //INTEGER: 本底噪声
    // "UBNT-MIB::ubntMIB.4.7.1.5.1",       //INTEGER: ？
    // "UBNT-MIB::ubntMIB.4.7.1.6.1",       //INTEGER: ？cpu
    // "UBNT-MIB::ubntMIB.4.7.1.7.1",       //INTEGER: ？
    // "UBNT-MIB::ubntMIB.4.7.1.8.1",       //INTEGER: ？
    // "UBNT-MIB::ubntMIB.4.7.1.9.1",       //INTEGER: ？
    // "UBNT-MIB::ubntMIB.4.7.1.10.1",       //IpAddress: ip
    // "UBNT-MIB::ubntMIB.4.7.1.11.1",       //INTEGER: 距离(毫米)
    // "UBNT-MIB::ubntMIB.4.7.1.12.1",       //INTEGER: ？
    // "UBNT-MIB::ubntMIB.4.7.1.13.1",       //Counter64: 接收BYTES
    // "UBNT-MIB::ubntMIB.4.7.1.14.1",       //Counter64: 发送BYTES
    // "UBNT-MIB::ubntMIB.4.7.1.15.1",       //Timeticks: 设备已连接时间
    // "UBNT-MIB::ubntMIB.4.7.1.16.1",       //INTEGER: CINR载波干扰噪声比（远端）
    // "UBNT-MIB::ubntMIB.4.7.1.17.1",       //INTEGER: 上行连接容量
    // "UBNT-MIB::ubntMIB.4.7.1.18.1",       //INTEGER: 下行连接容量
    // "UBNT-MIB::ubntMIB.4.7.1.19.1",       //INTEGER: ？
    // "UBNT-MIB::ubntMIB.4.7.1.20.1",       //INTEGER: ？
    // "UBNT-MIB::ubntMIB.4.7.1.21.1",       //INTEGER: //延迟
    NULL // 结束标记
};

BRIDGE_info *bridge_snmp_init(char *community, char *version_str, char *target);

void free_BridgeInfo(BRIDGE_info *info);
#endif